# -*- coding: utf-8 -*-
"""
模块：贺卡内容的填写、预览与生成逻辑
陈昆仑和张杰林负责
"""
# 陈昆仑负责C部分
def get_placeholder_values(template_dict):
    """
    获取用户输入的占位符值
    :param template_dict: 模板字典
    :return: 包含用户输入值的字典
    """
    filled_values = {}
    for placeholder in template_dict['placeholders']:
        value = input(f"请输入 [{placeholder}]: ").strip()
        filled_values[f"[{placeholder}]"] = value
    return filled_values

def fill_template_content_interaction(selected_template):
    """
    填写贺卡内容交互
    :param selected_template: 选中的模板
    :return: 包含用户输入值的字典
    """
    print("\n" + "=" * 30)
    print(f"正在填写 [{selected_template['name']}] 模板")
    print("=" * 30)
    return get_placeholder_values(selected_template)

# 张杰林负责E部分
def generate_ecard_text(template_content_str, filled_values_dict):
    """
    生成最终贺卡文本
    :param template_content_str: 模板文本
    :param filled_values_dict: 填写的值字典
    :return: 替换后的完整贺卡文本
    """
    result = template_content_str
    for placeholder, value in filled_values_dict.items():
        result = result.replace(placeholder, value)
    return result

def preview_and_generate_ecard_interaction(selected_template, user_filled_values):
    """
    预览并生成贺卡交互
    :param selected_template: 选中的模板
    :param user_filled_values: 用户填写的值
    :return: 生成的贺卡文本
    """
    print("\n" + "=" * 30)
    print("生成的贺卡内容")
    print("=" * 30)
    
    generated_text = generate_ecard_text(
        selected_template['content'], 
        user_filled_values
    )
    print(generated_text)
    print("=" * 30)
    print("贺卡已生成，请复制以上文本内容进行分享！")
    
    return generated_text